package compiler;

public class Arbol {

	public static Nodo crearNodo(Object padre, Nodo izquierdo, Nodo derecho) {
		Nodo nodo = new Nodo();
		nodo.elemento = padre;
		nodo.izquierdo = izquierdo;
		nodo.derecho = derecho;
		return nodo;
	}
	
	public static Nodo crearHoja(Object hoja) {
		Nodo nodo = new Nodo();
		nodo.elemento = hoja;
		nodo.izquierdo = null;
		nodo.derecho = null;
		return nodo;
		
	}
	
	public static void recorrer(Nodo n, boolean parentesis) {
		if(parentesis && (n.izquierdo != null || n.derecho != null)) {
			System.out.print("(");
		}
		if(n.izquierdo != null) 
			recorrer(n.izquierdo,parentesis);
		System.out.print(n.elemento + " ");
		if(n.derecho != null) {
			recorrer(n.derecho,parentesis);
		}
		if(parentesis && (n.izquierdo != null || n.derecho != null)) {
			System.out.print(")");
		}
	}
}
